main() {
  List goodsList = [
    {"id": 1, "price": 22.68, "count": 3, "goods_name": "西瓜", "selectd": true},
    {"id": 2, "price": 11.99, "count": 3, "goods_name": "草莓", "selectd": true},
    {
      "id": 3,
      "price": 60.99,
      "count": 1,
      "goods_name": "车厘子",
      "selectd": false
    },
    {
      "id": 4,
      "price": 11.68,
      "count": 3,
      "goods_name": "平谷大桃",
      "selectd": false
    }
  ];
  // 计算选中商品的总金额
  // double totalPrice = 0;
  // for(int i = 0; i < goodsList.length; i++){
  //   if(goodsList[i]["selectd"]){
  //     // 选中的商品，计算金额
  //     totalPrice += goodsList[i]["price"] * goodsList[i]["count"];
  //   }
  // }
  // print("选中商品的总金额为：${totalPrice.toStringAsFixed(2)}");

  // for in 循环
  // double totalPrice = 0;
  // for(var item in goodsList){
  //   if(item["selectd"]){
  //     // 选中的商品，计算金额
  //     totalPrice += item["price"] * item["count"];
  //   }
  // }
  // print("选中商品的总金额为：${totalPrice.toStringAsFixed(2)}");

  //forEach 循环
  // double totalPrice = 0;
  // goodsList.forEach((item) {
  //   if(item["selectd"]){
  //     // 选中的商品，计算金额
  //     totalPrice += item["price"] * item["count"];
  //   }
  // });
  // print("选中商品的总金额为：${totalPrice.toStringAsFixed(2)}");

  //reduce 方法
  // List<num> list = [1,2,3,4,5];
  // num totalPrice =  list.reduce((value, element) {
  //  return value + element;
  // });
  // print(totalPrice);

  // //fold 方法
  // double totalPrice = goodsList.fold(0, (value, item) {
  //   if(item["selectd"]){
  //     // 选中的商品，计算金额
  //     return value + item["price"] * item["count"];
  //   }
  //   return value;
  // });
  // print(totalPrice);

  //筛选选中的商品
  List selectedGoods = goodsList.where((item) => item["selectd"]).toList();
  print(selectedGoods);
  // 计算选中商品的总金额
  double totalPrice = selectedGoods.fold(0, (value, item) {
    return value + item["price"] * item["count"];
  });
  print(totalPrice);

}
